iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
0
Modern Web

把前後分離製作的網站組起來系列 第 10

SPRING BOOT開始~

  • 分享至 

  • xImage
  •  

要來介紹SPRING BOOT的安裝的~
1.通過官網進行建構https://start.spring.io/
https://ithelp.ithome.com.tw/upload/images/20200910/20119035VDdH6PDHH0.png

2.旁邊dependencies增加選擇
https://ithelp.ithome.com.tw/upload/images/20200910/20119035KlcKOob2Aw.png

3.按generate

https://ithelp.ithome.com.tw/upload/images/20200910/20119035DxLOgIBRxS.png

4.得到一個下載檔~用intellij idea打開
https://ithelp.ithome.com.tw/upload/images/20200910/20119035wIPNXE44ME.png

先在資料夾建好
https://ithelp.ithome.com.tw/upload/images/20200910/20119035hzUwZWCDnm.png

5.intellij idea開始-因為我是使用付費版所以就不用再命名就直接入了
https://ithelp.ithome.com.tw/upload/images/20200910/20119035MLBfK8wmCC.png

6.貼上語法在

spring.datasource.url=jdbc:mysql://localhost:3306/IT-java-shop?useSSL=false&useUnicode=yes&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=你的密碼
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.data.rest.base-path=/api

https://ithelp.ithome.com.tw/upload/images/20200910/201190353VWYl5Ob7u.png
IT-java-shop是在mysql裡面建立的資料庫名稱

而spring.datasource.username=
spring.datasource.password=

可以參考第14天的新增user
https://ithelp.ithome.com.tw/upload/images/20200914/20119035z91OKy7FYk.png

7.在src-main-java-com.shop.ecommerce下建一個資料夾~但是這裡要注意的是命名前的com.shop.ecommerce不要刪掉不然命名會跳錯資料夾
https://ithelp.ithome.com.tw/upload/images/20200910/20119035kqVCmVvOCl.png
在他的後面打檔名
https://ithelp.ithome.com.tw/upload/images/20200910/20119035jT8qocBzjr.png

8.再建一個java檔叫Project.java
https://ithelp.ithome.com.tw/upload/images/20200910/20119035uKtuon8ela.png

9.練習使用JPA使用@Entity+建立表格+變數:(其實這裡應該要先從HELLO WORLD開始~0.0)

Entity=實體:要有identity識別碼.可被追蹤/可被替換

物件導向的封裝:Publice/private:盡可能保護物件內部的資料.不讓外部直接修改
/images/emoticon/emoticon08.gif
變數/
命名要跟領域有關:
訂單:/多個品項:/品名/數量/金額

開始加入@系列語法像@Entity是加入主體的意思
然後要注意加入import不然會無法作動(ctrl+enter)

https://ithelp.ithome.com.tw/upload/images/20200913/20119035Z9LKDVNOlK.png

@Table(name="product")是我在資料庫新增一個叫product的表
https://ithelp.ithome.com.tw/upload/images/20200914/20119035vG4SeK8CgN.png

遇到的第1個大魔王就是product 和 Product 怎麼是紅的

public class Project {的反紅呢
跟@GeneratedValue(strategy= GenerationType.IDENTITY)是互相對應的
要打上反紅才會消失
/images/emoticon/emoticon08.gif
https://ithelp.ithome.com.tw/upload/images/20200918/20119035WvaEKoplsA.png


@Table(name="product")的反紅~就是表格找不到~
這個就比較麻煩了喔~
1.先確認mysql是否有連線~
用INTELLIJ內打MYSQL(先確認有連線成功)-他藏在介面的旁邊

選擇MYSQL+雷就是要記得test connect

填好相關的USER+密碼..然後按下面的test connect

如果下面不是出現這個畫面

那你就按下TIMEZOME~在台灣應該會顯示UCT->然後你再按回GENGERAL然後按下面的test connect->應該就能成功

V看你要的資料

要編輯的話是要到console這個


還是要找不到的話就是參考stack overflow
https://stackoverflow.com/questions/58666411/cannot-resolve-table-xx-in-spring-boot-application?fbclid=IwAR15dgT6DpV8AiTOHIDraqSrilXJQcWS12Kj6Zx0DA44fjL2aJrAmOr1T4Y
看不懂英文的話就按照我的步驟~
1.按旁邊的放大鏡~然後打DATA....
https://ithelp.ithome.com.tw/upload/images/20200918/2011903508nrmXFwee.png

2.按test connect確認連線成功
https://ithelp.ithome.com.tw/upload/images/20200918/20119035LNtivYO3KV.png

3.選schemas是不是要選的那個資料夾沒有被選到~沒選到V
https://ithelp.ithome.com.tw/upload/images/20200918/20119035996YbDV37a.png

4.然後再按旁邊的視窗重新整理一下~應該就有看到
https://ithelp.ithome.com.tw/upload/images/20200918/20119035gOL8OIbOqU.png

5.如果再不成功..左下角的Presistence也可以點開看是不是沒黏到MYSQL
https://ithelp.ithome.com.tw/upload/images/20200918/20119035HCMuwjQ9Cy.png


6.來解釋變數的命名:
id 排第幾個
sku 通常表示規格、顏色、款式
name ,名字
description描述
unit_price 價格
image_url 照片放的位置
active 這邊基本上都打1

如果產品在我們的應用程序中處於“活動”狀態或未處於活動狀態,則可以使用該標誌。例如,如果我們不再決定在商店中銷售產品,則可以將“ active”設置為0。然後我們可以更新問題以僅顯示有效產品。

units_in_stock 庫存數
date_created 被創建的日期
last_updated 最後更新時間

7.在每個變數上面打上@Column(name="變數") 記得要在英文輸入法的狀況下打
有的中間有+_

8.因為有點"愛睏~"我晚點再回來寫/images/emoticon/emoticon46.gif


但是~ 其實我覺得spring boot的intellij idea付費版比較好用
學spring 已經超容易"迷路"了~真的不要再增加"放棄的理由"/images/emoticon/emoticon10.gif

當然要省錢上網找一下還是有方法的~
/images/emoticon/emoticon05.gif

開工~

DEAR ALL 我們明天見/images/emoticon/emoticon24.gif


上一篇
mysql的增刪改查
下一篇
前端開始~
系列文
把前後分離製作的網站組起來30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言